deps: Raise cmake minimum to 3.23.0 - #5394
Conversation
|
Any objections to raising the upcoming OIIO 3.2's cmake minimum to 3.22? |
jessey-git
left a comment
There was a problem hiding this comment.
I think 3.22 is fine. I quickly looked at some other dependencies like Alembic and OpenUSD:
USD 25.05 or greater (May 2025) already requires 3.26.
USD 26.08 or greater (July 2026) requires 3.27.
Alembic 1.8.11 or greater (March 2026) then you need at least 3.29.
So chances are the ecosystem has access to the more recent 3.x versions already.
|
Should I go higher? I didn't have a particularly principled reason for picking that specific release -- I wanted to pull our minimum in by a bit, so I looked at what version was released ~5 years back, and checked the release notes of the next couple newer versions to see if there was anything slightly newer that would be a shame not to have, and didn't see anything compelling. So that's where 3.22 came from, really. I suppose pretty much everybody in VFX has to build USD, and everybody outside of VFX is probably on a much newer cmake than that. Aiming for a "three years back" compatibility window would be 3.27 (same as USD). MaterialX is 3.26. |
|
Given the currently known/upcoming needs from CUDA and libktx, 3.22 is sufficient I think. But 3.23 does offer a few more CUDA related items and that release still fits nicely into the 5year mark as of Aug 2026. I don't think many would complain about nudging further to 3.23 but anything beyond that does seems superfluous at the moment. |
|
errr, I was looking at the wrong date for 3.23 release I think. I still wouldn't complain about moving to that version even if it's slightly less than 5 years though. |
|
Our hard rule is 3 years. But we try to extend it to at least 5 unless there is a fairly compelling reason to make it shorter, like if something released only 3 or 4 years ago has a feature or behavior that is really critical for us to depend on. Our 3.2 is primarily "next year's release," so I think we're close enough to call it 5 years if we bump to 3.23. |
This is still 5 years old, but versus the prior 3.18 minimum, it gets us presets, better support for Apple Silicon, CUDA, C++23, among other things. There's not much simplification this lets us do right away, but it opens the door to future PRs where we can confidently use cmake features that were introduced between 3.19 and 3.22. Signed-off-by: Larry Gritz <lg@larrygritz.com>
Signed-off-by: Larry Gritz <lg@larrygritz.com>
|
On the Slack, @jfpanisset added: Hmmm. Does the Ubuntu 22.04 cause anybody to want us to stick to 3.22 as our floor? Or does the RHEL that most studios use having 3.26 make anybody want to argue strongly for pushing farther? Or is 3.23 a good balance for now? |
|
I'm going to stick to 3.23 in order to merge this. But if anybody thinks this is too aggressive (in particular with respect to Ubuntu 22.04), just say so, and we can switch back to 3.22. There's no rule or good reason to prevent us from decreasing the minimum supported version of even a release branch, assuming we aren't using any new features that make it impossible to do so (which obviously we are not yet). |
This is still 5 years old, but versus the prior 3.18 minimum, it gets us presets, better support for Apple Silicon, CUDA, C++23, among other things.
There's not much simplification this lets us do right away (like, no catering to old cmake that we can get rid of), but it opens the door to future PRs where we can confidently use cmake features that were introduced between 3.19 and 3.22.